With the recent progress of an optical transmitting/receiving technique, various optical transceivers have become reduced in size and become sophisticated. For example, in order to attain highly sophisticated functions, a microcontroller or a controller such as DSP (Digital Signal processor), PLD (Programmable Logic Device) or FPGA (Field Programmable Gate Array) that can perform intelligent control is increasingly being mounted in an optical transceiver, and the functions thereof are increasingly being realized by firmware.
The firmware is developed generally using “in-system programming” that allows a program to be written in a state where a controller such as microprocessor, DSP, FPGA, or PLD has been mounted on a circuit board or “in-system emulation” that debugs a program using an in-circuit emulator (ICE) or on-chip emulator. However, the size of the transceiver has become reduced, which may restrict utilization of such a function.
FIG. 5 shows a related optical transceiver. An optical transceiver 100 of FIG. 5 is constituted by an optical module that optically communicates with an external device while converting an electrical signal (main signal) to an optical signal (main signal) or converting an optical signal to an electrical signal. The optical module includes an optical transmission section (optical signal transmission function) 101 that transmits an optical signal, an optical reception section (optical signal reception function) 102 that receives an optical signal, and a control section 8 constituted by a controller such as a microprocessor, DSP, PLD, or FPGA.
A CPU, a memory (ROM or RAM), an I/O, and the like, which are not shown, are arranged in the control section 8. In the storage area of the memory, a control program (firmware) executed by the CPU is stored in a rewritable manner. The control section 8 uses the CPU to execute a command from the control program stored in the memory to thereby control operations of the optical transmission section 101 and the optical reception section 102.
A debugger 10 is used for performing the in-system emulation or in-system programming for the optical transceiver 100. The debugger 10 is connected to the control section 8 which is a debug target through a dedicated electrical terminal such as a connector by a single or plurality of electrical signal lines (a signal exchanged between the debugger 10 and the control section 8 denotes a debug signal or a programming signal). As a stand-alone device (software), the debugger 10 is configured to only debug a program. However, in this example, the debugger 10 serves also as a program loader for writing a program.
When the in-system programming or in-system emulation is performed in the configuration of FIG. 5, an electrical signal serving as a debug signal or programming signal is input from the debugger 10 to the control section 8 through the electrical signal line and dedicated electrical terminal. Thus, an electrical signal serving as a debug signal or programming signal is exchanged between the control section 8 and the debugger 10 through the electrical signal line and dedicated electrical terminal, whereby writing of firmware or debug is performed for the control section 8.
Relating to the above, JP-A-2004-222295 (Patent Document 1) discloses an optical transceiver module for optical communication having a transmitter, a receiver and a controller. In this optical transceiver module, the controller has a transceiver operation code including a plurality of task codes for controlling the optical transceiver module. Priority order is imparted to the plurality of task codes, and the controller executes the tasks according to the priority order.
Further, JP-A-2002-334127 (Patent Document 2) discloses an emulation system of built-in firmware capable of realizing emulation in a field of optical transmission amplification with high accuracy. This system has a device information table for storing externally set circuit information of a real circuit to be controlled by a built-in firmware and a data transition managing means for converting the data stored in the device information table into a relational map that associates the circuit information of the real circuit with I/O information of the built-in firmware and real circuit and performs emulation of the built-in firmware based on the relational map.
In developing firmware of a microcomputer and DSP used in a small type optical transceiver, a dedicated electrical terminal needs to be provided in order to realize the in-system programming or in-system emulation. For example, in the invention disclosed in Patent Document 2, UART (Universal Asynchronous Receiver and Transmitter) is used as a connection means for connecting an external controller and an emulation section.
In such a case, when the size of the apparatus is further reduced, a case may occur where space for the dedicated electrical terminal cannot be ensured in the apparatus. As a result, it may be impossible to use the in-system programming function or in-system emulation function, which becomes a serious obstacle to developing firmware of the apparatus.